<?php

namespace examples\models;

use ORM\Model;

class Post extends Model {
    /**
     * 表名
     */
    protected $table = 'posts';
    
    /**
     * 可填充的属性
     */
    protected $fillable = ['title', 'content', 'user_id', 'created_at', 'updated_at'];
    
    /**
     * 属性类型转换
     */
    protected $casts = [
        'created_at' => 'datetime',
        'updated_at' => 'datetime'
    ];
    
    /**
     * 文章的作者（多对一关系）
     */
    public function user() {
        return $this->belongsTo('examples\\models\\User', 'user_id');
    }
    
    /**
     * 文章的评论（一对多关系）
     */
    public function comments() {
        return $this->hasMany('examples\\models\\Comment', 'post_id');
    }
    
    /**
     * 文章的标签（多对多关系）
     */
    public function tags() {
        return $this->belongsToMany('examples\\models\\Tag', 'post_tag', 'post_id', 'tag_id');
    }
}